package test;

import java.util.Vector;

public class EqualsOperator {

	public static void main(String[] args) {
		//객체선언
		String str1 = new String("abcd:ef");
		String str2 = new String("Abcdef");
		String str3 = new String("defghi");		
		
		
		//str1 = str3 ;
		System.out.println(str1.charAt(3));//문자열의 인덱스를 매개변수로 주면 해당 문자한개를 리턴
		System.out.println(str1.charAt(3));//문자열의 인덱스를 매개변수로 주면 해당 문자한개를 리턴
		System.out.println("=====================");
		
		System.out.println("str1과 2비교: " + (str1==str2)); //객체이름은 실제로는 객체가 위치한 메모리주소를 가지고 있는변수기때문에 실데이터와 다름. - 레퍼런스 변수.
		System.out.println("str1과 3비교: "+ (str1 == str3));
		
		System.out.println("====================="); // == , equals 의 차이: eqauls는 메모리를 찾아가 실제 내용을 비교. 공백도 구분.
		System.out.println("eqauls str1과 2비교: " + (str1.equals(str2)));
		System.out.println("eqauls str1과 3비교: " + (str1.equals(str3)));
		
		System.out.println("====================="); //equalsTgnoreCase 대소문자를 구별하지 않고 두 문자열을 비교		
		System.out.println("equalsTgnoreCase str1과 2비교: " + (str1.equalsIgnoreCase(str2)));
		System.out.println("equalsTgnoreCase str1과 3비교: " + (str1.equalsIgnoreCase(str3)));
		
		System.out.println("====================="); 
		System.out.println("startsWith str1 : " + (str1.startsWith("n")));//boolean startsWith-객체의 시작이 입력받은 인자로 시작하는지 아닌지를 판단하여 boolean형으로 리턴		
		System.out.println("endsWith str1 : " + (str1.endsWith("n")));
		
		System.out.println("====================="); 
		System.out.println("indexOf str1 : " + (str1.indexOf("n")));//문자열을 포함하는지 여부를 확인하여 있으면 위치를 int형으로 반환하고 없으면 -1을 반환
		System.out.println("lastIndexOf str1 : " + (str1.lastIndexOf("e")));//특정문자열을 맨 뒤에서부터 검색하되 결과값을 되돌릴 때는 앞에서부터의 순서를 숫자로 표시
		
		System.out.println("=====================");
		System.out.println("compareTo str1과 3비교: " + (str1.compareTo(str3))); //int compareTo -str[i]가 str[i]보다 알파벳순으로 앞설때 음수,같을때 0,늦을때 양수를 리턴합니다(대소문자구문)
		System.out.println("compareToIgnoreCase str1과 3비교: " + (str1.compareToIgnoreCase(str3))); //대소문자구분하지 않는다.

		System.out.println("=====================");
		System.out.println("length str1: " + str1.length()); //int length() 문자길이
		System.out.println("replace str1-[ab]<->[m] 치환: " + (str1.replace("ab", "m"))); //String  replace 치환은, 캐릭터 라인의 선두로부터 시작되어 끝까지 진행됩니다
		System.out.println("replaceAll str1-[ab]<->str3 치환: " + (str1.replaceAll("ab", str3))); //첫번째 인자는 정규식 표현 String, 두번째 인자는 정규식 표현에 매칭되는것을 인자로 바꿔라.

		System.out.println("=====================");
		 String v[]=str1.split(":"); //String [] split(String  regex) 지정된 정규 표현에 일치하는 위치에서 분할해 계산된 캐릭터 라인의 배열 
		 for(int i=0; i<v.length;i++){
			 System.out.println("str1.split() : "+v[i]);
		 }
		
		System.out.println("str1.indexOf(): " + (str1.indexOf(":"))); //int indexOf -": "지정된 부분 최초로 출현하는 위치의 인덱스를 돌려줍니다 
		System.out.println("substring: " + (str1.substring(3))); // -int beginIndex 지정된 인덱스로 시작되어, 이 캐릭터 라인의 끝 추출

		




		

	}

}
